#pragma once
#include "TCharSupport.h"
#include "EpilExpressionCodeBase.h"
#include "EpilStatementCodeBase.h"


class EpilLocalVariableStatementCode : public EpilStatementCodeBase
{
	EPIL_CODE_DECL( LocalVariableStatement );

public:
	EpilLocalVariableStatementCode( const EpilLexLocation & location );
	virtual ~EpilLocalVariableStatementCode();

	EpilExpressionCodeList &			GetAssigners()												{ return m_assigners; }
	const EpilExpressionCodeList &		GetAssigners() const										{ return m_assigners; }
	void								SetAssigners( const EpilExpressionCodeList & assigners )	{ m_assigners = assigners; }
	list<tstring> &						GetVariables()												{ return m_variables; }
	const list<tstring> &				GetVariables() const										{ return m_variables; }
	void								SetVariables( const list<tstring> & variables )				{ m_variables = variables; }

	virtual tstring						ToEpilCode( int indent ) const;

private:
	list<tstring>						m_variables;
	EpilExpressionCodeList				m_assigners;
};